package fm.yichenet.mongo.service;

import com.mongodb.DB;
import com.mongodb.DBObject;
import fm.dto.NeiyiUser;
import fm.entityEnum.CollectTypeEnum;
import fm.entityEnum.ShopFlagEnum;
import fm.exception.BizException;
import org.hibernate.persister.walking.spi.WalkingException;

import java.util.List;
import java.util.Map;

/**
 * @修改人：CM
 * @修改时间：2017/3/15 13:19
 */
public interface ShopMgrService {

    List<DBObject> getContactInfoByPage(Integer pageNum, Integer pageSize) throws Exception;

    void updateMapConfig(Map mapConfig) throws Exception;

    void updateAboutContent(Map content) throws Exception;

    DBObject getAboutConfig(Map param) throws Exception;

    DBObject getHomeConfig(Map param) throws Exception;

    void updateHomeConfig(Map config) throws Exception;

    DBObject getGoodClassByUuid(Map param) throws Exception;

    void addGoodClass(Map data) throws Exception;

    void updateGoodClass(Map data);

    /**
     * 首页推广店铺
     *
     * @param shopId
     * @param action
     */
    void flagShop(String shopId, String action, String city,ShopFlagEnum pageType) throws Exception;

    /**
     * 获取首页推广店铺列表
     *
     * @return
     */
    List<DBObject> getFlagShop(String pagetype,String city) throws Exception;

    /**
     * 获取商铺列表
     *
     * @param keyword
     * @return
     * @throws Exception
     */
    List getShopList(String shopType, String keyword, Double longitude, Double latitude,String province,String city, Integer pageSize, Integer pageNum) throws Exception;

    void collectShop(String shopId,NeiyiUser user) throws Exception;

    void unCollectShop(String shopId,NeiyiUser user) throws Exception;

    List getCollectionShopList(NeiyiUser user,Integer pageSize,Integer pageNum) throws Exception;

    Map<String, Object> checkCollectShop(String shopId,NeiyiUser user) throws Exception;

    /**
     * 商铺代理品牌配置
     */
    void agencyBrandMg(String action,String brandName,String brandLogo,String shopId) throws Exception;
    List getAgencyBrandList(String shopId);
    /**
     * 上传物流报价单
     */
    void getLogPriceInfoByExcel(List<Map<String, Object>> list, String  user_id);
    /**
     *获取收藏列表
     */
    List getCollectList(String user_id, CollectTypeEnum type) throws Exception;

    void deleCollect(String id) throws Exception;
    void shopCollect(String shop_id,boolean flag) throws Exception;
}
